{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据可视化：股票数据分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "先使用conda安装：\n",
    "\n",
    "1）python3环境\n",
    "\n",
    "2）安装互联数据获取包pandas-datareader"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:27.839973Z",
     "start_time": "2019-07-05T09:30:27.249551Z"
    }
   },
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "partially initialized module 'charset_normalizer' has no attribute 'md__mypyc' (most likely due to a circular import)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[1], line 4\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;66;03m#导入包\u001b[39;00m\n\u001b[0;32m      2\u001b[0m \u001b[38;5;66;03m#数据分析包\u001b[39;00m\n\u001b[0;32m      3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n\u001b[1;32m----> 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas_datareader\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m data \u001b[38;5;28;01mas\u001b[39;00m pdr\n\u001b[0;32m      5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01myfinance\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01myf\u001b[39;00m\n\u001b[0;32m      6\u001b[0m yf\u001b[38;5;241m.\u001b[39mpdr_override()\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\pandas_datareader\\__init__.py:5\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m\n\u001b[0;32m      4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_version\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m get_versions\n\u001b[1;32m----> 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m      6\u001b[0m     DataReader,\n\u001b[0;32m      7\u001b[0m     Options,\n\u001b[0;32m      8\u001b[0m     get_components_yahoo,\n\u001b[0;32m      9\u001b[0m     get_dailysummary_iex,\n\u001b[0;32m     10\u001b[0m     get_data_alphavantage,\n\u001b[0;32m     11\u001b[0m     get_data_enigma,\n\u001b[0;32m     12\u001b[0m     get_data_famafrench,\n\u001b[0;32m     13\u001b[0m     get_data_fred,\n\u001b[0;32m     14\u001b[0m     get_data_moex,\n\u001b[0;32m     15\u001b[0m     get_data_quandl,\n\u001b[0;32m     16\u001b[0m     get_data_stooq,\n\u001b[0;32m     17\u001b[0m     get_data_tiingo,\n\u001b[0;32m     18\u001b[0m     get_data_yahoo,\n\u001b[0;32m     19\u001b[0m     get_data_yahoo_actions,\n\u001b[0;32m     20\u001b[0m     get_iex_book,\n\u001b[0;32m     21\u001b[0m     get_iex_data_tiingo,\n\u001b[0;32m     22\u001b[0m     get_iex_symbols,\n\u001b[0;32m     23\u001b[0m     get_last_iex,\n\u001b[0;32m     24\u001b[0m     get_markets_iex,\n\u001b[0;32m     25\u001b[0m     get_nasdaq_symbols,\n\u001b[0;32m     26\u001b[0m     get_quote_yahoo,\n\u001b[0;32m     27\u001b[0m     get_recent_iex,\n\u001b[0;32m     28\u001b[0m     get_records_iex,\n\u001b[0;32m     29\u001b[0m     get_summary_iex,\n\u001b[0;32m     30\u001b[0m     get_tops_iex,\n\u001b[0;32m     31\u001b[0m )\n\u001b[0;32m     33\u001b[0m PKG \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mdirname(\u001b[38;5;18m__file__\u001b[39m)\n\u001b[0;32m     35\u001b[0m __version__ \u001b[38;5;241m=\u001b[39m get_versions()[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mversion\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\pandas_datareader\\data.py:11\u001b[0m\n\u001b[0;32m      7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mwarnings\u001b[39;00m\n\u001b[0;32m      9\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_decorators\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m deprecate_kwarg\n\u001b[1;32m---> 11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas_datareader\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mav\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mforex\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AVForexReader\n\u001b[0;32m     12\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas_datareader\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mav\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mquotes\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AVQuotesReader\n\u001b[0;32m     13\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas_datareader\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mav\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msector\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AVSectorPerformanceReader\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\pandas_datareader\\av\\__init__.py:5\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[0;32m      3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas_datareader\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_utils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m RemoteDataError\n\u001b[0;32m      6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas_datareader\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbase\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _BaseReader\n\u001b[0;32m      8\u001b[0m AV_BASE_URL \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://www.alphavantage.co/query\u001b[39m\u001b[38;5;124m\"\u001b[39m\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\pandas_datareader\\_utils.py:4\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mdatetime\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mdt\u001b[39;00m\n\u001b[0;32m      3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m to_datetime\n\u001b[1;32m----> 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mrequests\u001b[39;00m\n\u001b[0;32m      6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas_datareader\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m is_number\n\u001b[0;32m      9\u001b[0m \u001b[38;5;28;01mclass\u001b[39;00m \u001b[38;5;21;01mSymbolWarning\u001b[39;00m(\u001b[38;5;167;01mUserWarning\u001b[39;00m):\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\requests\\__init__.py:48\u001b[0m\n\u001b[0;32m     45\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexceptions\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m RequestsDependencyWarning\n\u001b[0;32m     47\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m---> 48\u001b[0m     \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mcharset_normalizer\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m __version__ \u001b[38;5;28;01mas\u001b[39;00m charset_normalizer_version\n\u001b[0;32m     49\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n\u001b[0;32m     50\u001b[0m     charset_normalizer_version \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\charset_normalizer\\__init__.py:24\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m      3\u001b[0m \u001b[38;5;124;03mCharset-Normalizer\u001b[39;00m\n\u001b[0;32m      4\u001b[0m \u001b[38;5;124;03m~~~~~~~~~~~~~~\u001b[39;00m\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m     20\u001b[0m \u001b[38;5;124;03m:license: MIT, see LICENSE for more details.\u001b[39;00m\n\u001b[0;32m     21\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m     22\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mlogging\u001b[39;00m\n\u001b[1;32m---> 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mapi\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m from_bytes, from_fp, from_path, is_binary\n\u001b[0;32m     25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlegacy\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m detect\n\u001b[0;32m     26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmodels\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m CharsetMatch, CharsetMatches\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\charset_normalizer\\api.py:5\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m PathLike\n\u001b[0;32m      3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtyping\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m BinaryIO, List, Optional, Set, Union\n\u001b[1;32m----> 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcd\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m      6\u001b[0m     coherence_ratio,\n\u001b[0;32m      7\u001b[0m     encoding_languages,\n\u001b[0;32m      8\u001b[0m     mb_encoding_languages,\n\u001b[0;32m      9\u001b[0m     merge_coherence_ratios,\n\u001b[0;32m     10\u001b[0m )\n\u001b[0;32m     11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconstant\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m IANA_SUPPORTED, TOO_BIG_SEQUENCE, TOO_SMALL_SEQUENCE, TRACE\n\u001b[0;32m     12\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmd\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m mess_ratio\n",
      "File \u001b[1;32md:\\anaconda\\envs\\bigdata\\lib\\site-packages\\charset_normalizer\\cd.py:14\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtyping\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Counter \u001b[38;5;28;01mas\u001b[39;00m TypeCounter, Dict, List, Optional, Tuple\n\u001b[0;32m      7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconstant\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m      8\u001b[0m     FREQUENCIES,\n\u001b[0;32m      9\u001b[0m     KO_NAMES,\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m     12\u001b[0m     ZH_NAMES,\n\u001b[0;32m     13\u001b[0m )\n\u001b[1;32m---> 14\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmd\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m is_suspiciously_successive_range\n\u001b[0;32m     15\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmodels\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m CoherenceMatches\n\u001b[0;32m     16\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m     17\u001b[0m     is_accentuated,\n\u001b[0;32m     18\u001b[0m     is_latin,\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m     21\u001b[0m     unicode_range,\n\u001b[0;32m     22\u001b[0m )\n",
      "\u001b[1;31mAttributeError\u001b[0m: partially initialized module 'charset_normalizer' has no attribute 'md__mypyc' (most likely due to a circular import)"
     ]
    }
   ],
   "source": [
    "#导入包\n",
    "#数据分析包\n",
    "import pandas as pd\n",
    "from pandas_datareader import data as pdr\n",
    "import yfinance as yf\n",
    "yf.pdr_override()\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "font = {'family' : 'SimHei',\n",
    "        'weight' : 'bold',\n",
    "        'size'   : '12'}\n",
    "plt.rc('font', **font)               # 步骤一（设置字体的更多属性）\n",
    "plt.rc('axes', unicode_minus=False)  # 步骤二（解决坐标轴负数的负号显示问题）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:27.844959Z",
     "start_time": "2019-07-05T09:30:27.840970Z"
    }
   },
   "outputs": [],
   "source": [
    "# 存在的问题：由于是从国外获取股票数据，会由于网络不稳定，获取数据失败，多运行几次这个cell就好了\n",
    "'''\n",
    "获取国内股票数据的方式是：“股票代码”+“对应股市”（港股为.hk，A股为.ss）\n",
    "例如腾讯是港股是：0700.hk\n",
    "'''\n",
    "#字典：6家公司的股票\n",
    "gafataDict={'谷歌':'GOOG','亚马逊':'AMZN','Facebook':'FB','苹果':'AAPL','阿里巴巴':'BABA','腾讯':'0700.hk'}\n",
    "# 获取哪段时间范围的股票数据\n",
    "start_date = '2020-01-05'\n",
    "end_date = '2020-12-31'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 阿里巴巴"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:29.290096Z",
     "start_time": "2019-07-05T09:30:27.846953Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "\n",
      "1 Failed download:\n",
      "- GOOG: No timezone found, symbol may be delisted\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Open, High, Low, Close, Adj Close, Volume]\n",
       "Index: []"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''\n",
    "get_data_yahoo表示从雅虎数据源获取股票数据\n",
    "雅虎股票数据源文档：http://pandas-datareader.readthedocs.io/en/latest/remote_data.html#yahoo-finance\n",
    "'''\n",
    "# # 获取哪段时间范围的股票数据\n",
    "#start_date = '2018-01-01'\n",
    "#end_date = '2019-05-01'\n",
    "#获取阿里巴巴股票数据\n",
    "ALbbDf =pdr.get_data_yahoo(gafataDict['谷歌'],start_date, end_date)\n",
    "#ALbbDf =pdr.get_data_yahoo(gafataDict['谷歌'],start_date, end_date,proxy=\"http://127.0.0.1:7890\")\n",
    "#查看前5行数据\n",
    "ALbbDf.head()\n",
    "#ALbbDf.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:29.317022Z",
     "start_time": "2019-07-05T09:30:29.294085Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\\n每日股票价位信息\\nOpen:开盘价\\nHigh:最高加\\nLow：最低价\\nClose：收盘价\\nVolume：成交量\\n下面我们主要关注每日的收盘价\\n'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''\n",
    "每日股票价位信息\n",
    "Open:开盘价\n",
    "High:最高加\n",
    "Low：最低价\n",
    "Close：收盘价\n",
    "Volume：成交量\n",
    "下面我们主要关注每日的收盘价\n",
    "'''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:29.323006Z",
     "start_time": "2019-07-05T09:30:29.318020Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index([], dtype='object', name='Date')"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#股票数据的行索引是时间序列类型，记录每天的股票信息\n",
    "ALbbDf.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:29.331983Z",
     "start_time": "2019-07-05T09:30:29.324004Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 0 entries\n",
      "Data columns (total 6 columns):\n",
      " #   Column     Non-Null Count  Dtype  \n",
      "---  ------     --------------  -----  \n",
      " 0   Open       0 non-null      float64\n",
      " 1   High       0 non-null      float64\n",
      " 2   Low        0 non-null      float64\n",
      " 3   Close      0 non-null      float64\n",
      " 4   Adj Close  0 non-null      float64\n",
      " 5   Volume     0 non-null      float64\n",
      "dtypes: float64(6)\n",
      "memory usage: 0.0+ bytes\n"
     ]
    }
   ],
   "source": [
    "#查看数据集情况\n",
    "ALbbDf.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:29.337967Z",
     "start_time": "2019-07-05T09:30:29.332980Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Open         float64\n",
       "High         float64\n",
       "Low          float64\n",
       "Close        float64\n",
       "Adj Close    float64\n",
       "Volume       float64\n",
       "dtype: object"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看每一列数据类型\n",
    "ALbbDf.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:29.360905Z",
     "start_time": "2019-07-05T09:30:29.339961Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Open  High  Low  Close  Adj Close  Volume\n",
       "count   0.0   0.0  0.0    0.0        0.0     0.0\n",
       "mean    NaN   NaN  NaN    NaN        NaN     NaN\n",
       "std     NaN   NaN  NaN    NaN        NaN     NaN\n",
       "min     NaN   NaN  NaN    NaN        NaN     NaN\n",
       "25%     NaN   NaN  NaN    NaN        NaN     NaN\n",
       "50%     NaN   NaN  NaN    NaN        NaN     NaN\n",
       "75%     NaN   NaN  NaN    NaN        NaN     NaN\n",
       "max     NaN   NaN  NaN    NaN        NaN     NaN"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看数据集描述统计信息\n",
    "ALbbDf.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>DayHL</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Open, High, Low, Close, Adj Close, Volume, DayHL]\n",
       "Index: []"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 增加一列“DayHL”,表示日最高价和日最低价之间的差值\n",
    "ALbbDf[\"DayHL\"]= ALbbDf.eval(\" High-Low\")\n",
    "# ALbbDf = ALbbDf.eval(\"DayHL = High-Low\")\n",
    "ALbbDf.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 谷歌"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:30.891814Z",
     "start_time": "2019-07-05T09:30:29.361902Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "\n",
      "1 Failed download:\n",
      "- GOOG: No timezone found, symbol may be delisted\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Open, High, Low, Close, Adj Close, Volume]\n",
       "Index: []"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取谷歌股票数据\n",
    "GoogleDf=data.get_data_yahoo(gafataDict['谷歌'],start_date, end_date)\n",
    "GoogleDf.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 亚马逊"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:32.476575Z",
     "start_time": "2019-07-05T09:30:30.892808Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "\n",
      "1 Failed download:\n",
      "- AMZN: No timezone found, symbol may be delisted\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Open, High, Low, Close, Adj Close, Volume]\n",
       "Index: []"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取亚马逊股票数据\n",
    "AmazDf=data.get_data_yahoo(gafataDict['亚马逊'],start_date, end_date)\n",
    "AmazDf.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:33.871842Z",
     "start_time": "2019-07-05T09:30:32.478569Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "\n",
      "1 Failed download:\n",
      "- AMZN: No timezone found, symbol may be delisted\n"
     ]
    }
   ],
   "source": [
    "#获取亚马逊股票数据\n",
    "amazDf=data.get_data_yahoo(gafataDict['亚马逊'],start_date, end_date)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Facebook"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:35.548359Z",
     "start_time": "2019-07-05T09:30:33.872840Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "\n",
      "1 Failed download:\n",
      "- FB: No timezone found, symbol may be delisted\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Open, High, Low, Close, Adj Close, Volume]\n",
       "Index: []"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取Facebook股票数据\n",
    "FBDf=data.get_data_yahoo(gafataDict['Facebook'],start_date, end_date)\n",
    "FBDf.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 苹果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:36.972550Z",
     "start_time": "2019-07-05T09:30:35.549356Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "\n",
      "1 Failed download:\n",
      "- AAPL: No timezone found, symbol may be delisted\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Open, High, Low, Close, Adj Close, Volume]\n",
       "Index: []"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取苹果股票数据\n",
    "AppleDf=data.get_data_yahoo(gafataDict['苹果'],start_date, end_date)\n",
    "AppleDf.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 腾讯"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:38.426664Z",
     "start_time": "2019-07-05T09:30:36.973548Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  1 of 1 completed\n",
      "\n",
      "1 Failed download:\n",
      "- 0700.HK: No timezone found, symbol may be delisted\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Open, High, Low, Close, Adj Close, Volume]\n",
       "Index: []"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取亚马逊股票数据\n",
    "TCDf=data.get_data_yahoo(gafataDict['腾讯'],start_date, end_date)\n",
    "TCDf.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:38.439627Z",
     "start_time": "2019-07-05T09:30:38.427659Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Open</th>\n",
       "      <th>Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Close_dollar</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-01-02</th>\n",
       "      <td>418.000000</td>\n",
       "      <td>407.600006</td>\n",
       "      <td>408.000000</td>\n",
       "      <td>417.799988</td>\n",
       "      <td>24080505.0</td>\n",
       "      <td>415.765076</td>\n",
       "      <td>53.394838</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-03</th>\n",
       "      <td>426.799988</td>\n",
       "      <td>419.000000</td>\n",
       "      <td>424.000000</td>\n",
       "      <td>422.200012</td>\n",
       "      <td>22780154.0</td>\n",
       "      <td>420.143677</td>\n",
       "      <td>53.957162</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-04</th>\n",
       "      <td>432.399994</td>\n",
       "      <td>424.200012</td>\n",
       "      <td>427.000000</td>\n",
       "      <td>431.799988</td>\n",
       "      <td>27904538.0</td>\n",
       "      <td>429.696899</td>\n",
       "      <td>55.184038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-05</th>\n",
       "      <td>436.399994</td>\n",
       "      <td>428.200012</td>\n",
       "      <td>436.399994</td>\n",
       "      <td>433.200012</td>\n",
       "      <td>19958447.0</td>\n",
       "      <td>431.090118</td>\n",
       "      <td>55.362962</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-08</th>\n",
       "      <td>439.200012</td>\n",
       "      <td>433.799988</td>\n",
       "      <td>436.200012</td>\n",
       "      <td>438.600006</td>\n",
       "      <td>17994826.0</td>\n",
       "      <td>436.463806</td>\n",
       "      <td>56.053081</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  High         Low        Open       Close      Volume  \\\n",
       "Date                                                                     \n",
       "2018-01-02  418.000000  407.600006  408.000000  417.799988  24080505.0   \n",
       "2018-01-03  426.799988  419.000000  424.000000  422.200012  22780154.0   \n",
       "2018-01-04  432.399994  424.200012  427.000000  431.799988  27904538.0   \n",
       "2018-01-05  436.399994  428.200012  436.399994  433.200012  19958447.0   \n",
       "2018-01-08  439.200012  433.799988  436.200012  438.600006  17994826.0   \n",
       "\n",
       "             Adj Close  Close_dollar  \n",
       "Date                                  \n",
       "2018-01-02  415.765076     53.394838  \n",
       "2018-01-03  420.143677     53.957162  \n",
       "2018-01-04  429.696899     55.184038  \n",
       "2018-01-05  431.090118     55.362962  \n",
       "2018-01-08  436.463806     56.053081  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#腾讯是港股，所以这里的收盘价是港币，按照今天的汇率将其转化为美元\n",
    "exchange=0.1278 #港币兑换美元的汇率，这个值可以根据在网上查到当天的最新汇率\n",
    "#为了方便后期多家公司的股价比较，增加新的一列收盘价（美元）\n",
    "TCDf['Close_dollar']= TCDf['Close']* exchange\n",
    "TCDf.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数据可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:38.567289Z",
     "start_time": "2019-07-05T09:30:38.440625Z"
    }
   },
   "outputs": [],
   "source": [
    "#导入可视化包\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "font = {'family' : 'SimHei',\n",
    "        'weight' : 'bold',\n",
    "        'size'   : '15'}\n",
    "plt.rc('font', **font)               # 步骤一（设置字体的更多属性）\n",
    "plt.rc('axes', unicode_minus=False)  # 步骤二（解决坐标轴负数的负号显示问题）\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 绘制股票走势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "matplotlib.rcParams['font.size'] = 15\n",
    "matplotlib.rcParams['font.family'] = 'SimHei'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:38.726860Z",
     "start_time": "2019-07-05T09:30:38.568284Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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Wu8wepT3uTE02j731f395S9/uSIidi23rqGSyJgxY1i4cGG9w+i21tZWWlpa6h1Gj/I+N4ZG2+e+ur/ZbWLKcneWmZnl5iRiZma5OYmYmVluTiJmZpZbQw2sm1nj6ujoYPHixaxevbrzyjUybNgwnnqq3DdL19/QoUMZPXo0/fp1r23hJGJmDWHFihVIYty4cd0+UG4tr732GjvsUHovyvrr6OhgyZIlrFixgt12263zDYq4O8vMGsIrr7xCc3Nz3RJIb9avXz+am5t59dVXu79tDeIxM+t1NmzYwIABA+odRq81YMAA1q+v9C0ClTmJmFnDSN89ZuXk/WycRMzMeoEHHniAsWPHstdee3HddW9+P9bMmTOZOXNm/QLrhAfWzczq7OWXX+bMM89k7ty5jB8/noMPPphjjjmG8ePH1zu0TrklYmZWZ3fddReHHnoohx12GDvuuCPHHnssDz/8cL3D6hInETOzOnviiScYN27cxuVLLrmEE088sWL9W265hbFjxzJmzBjmzJmzsfxzn/sco0aNYuTIkVx//fUby7/97W+zzz77MHLkSG688catGru7s8ysIV14ITz+eG3fY+JEuPrqzuu98sor7LHHHhuX99prr4p1n376aS6++GIWLFhAU1MThx9+OIcccgh77LEHV155JcuXL6ejo4OpU6cybdo0nnzySWbNmsXChQtpb29n0qRJnHjiiTQ3N2/5DuKWiJlZ3Q0YMIB169ZtXP7hD3/IvHnzytZ94IEHOOGEE9hzzz0ZNWoUJ598Mvfffz/Dhg1j3Lhx/NM//RMPPPAA3/nOdwCYP38+zz33HPvvvz8TJkygra2NZ555ZqvF7paImTWkrrQQesq+++7LL37xi43L9957L5MmTapYv3g6riQk0dTUxKOPPsqDDz7IPffcw4wZM3jyySeJCM466yxuuOEGIF01P2jQoK0Wu1siZmZ1dsopp/Dggw/ym9/8huXLl3PfffdV/PKqY489lrvvvpslS5bw5z//mTvuuIPjjjuO3/3udxxzzDEcc8wxXHXVVSxbtoyVK1fynve8h3nz5rFs2TJee+01JkyYwG9/+9utFrtbImZmdTZ27FhuvvlmTj31VNasWcOll17K/vvvX7bu+PHjufLKKznqqKOICD7/+c9z4IEHAjBlyhTGjh0LwPTp0xk5ciQjR45kxowZHHHE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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "横轴x是股票时间（babaDf.index是Pandas二维数据Dataframe的行索引，这里是时间序列）\n",
    "纵轴y是收盘价Close这一列数据\n",
    "plot默认是线条图\n",
    "'''\n",
    "\n",
    "ALbbDf.plot(y = \"Close\",color = \"blue\")\n",
    "#x坐标轴文本\n",
    "plt.xlabel('时间')\n",
    "#y坐标轴文本\n",
    "plt.ylabel('股价（美元）')\n",
    "plt.xticks(rotation = 60)\n",
    "#图片标题\n",
    "plt.title('2018年初至今阿里巴巴股价走势')\n",
    "#显示图例\n",
    "plt.grid()\n",
    "\n",
    "#显示图形\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析结果：通过图中显然可以看出阿里巴巴的股票价格总体趋势是增长的，是值得投资的一家公司。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 散点图：成交量和股价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:38.844545Z",
     "start_time": "2019-07-05T09:30:38.727857Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "我们给plot传入的横轴x坐标轴数据成交量这一列的数据，\n",
    "纵轴y坐标轴数据是收盘价这一列的数据，\n",
    "同时增加了一个参数叫kind这个值表示绘制图形的类型，这里的值等于scatter表示绘制散点图。\n",
    "kind取值（图形类型）参考官方文档：http://pandas.pydata.org/pandas-docs/stable/visualization.html\n",
    "'''\n",
    "matplotlib.rcParams['font.size'] = 12\n",
    "ALbbDf.plot(x='Volume',y='Close',kind='scatter')\n",
    "#x坐标轴文本\n",
    "plt.xlabel('成交量')\n",
    "#y坐标轴文本\n",
    "plt.ylabel('股价（美元）')\n",
    "\n",
    "#图片标题\n",
    "plt.title('成交量和股价')\n",
    "#显示图形\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:30:38.855516Z",
     "start_time": "2019-07-05T09:30:38.845542Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>DayHL</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Open</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>High</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Low</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Close</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Adj Close</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Volume</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DayHL</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           Open  High  Low  Close  Adj Close  Volume  DayHL\n",
       "Open        NaN   NaN  NaN    NaN        NaN     NaN    NaN\n",
       "High        NaN   NaN  NaN    NaN        NaN     NaN    NaN\n",
       "Low         NaN   NaN  NaN    NaN        NaN     NaN    NaN\n",
       "Close       NaN   NaN  NaN    NaN        NaN     NaN    NaN\n",
       "Adj Close   NaN   NaN  NaN    NaN        NaN     NaN    NaN\n",
       "Volume      NaN   NaN  NaN    NaN        NaN     NaN    NaN\n",
       "DayHL       NaN   NaN  NaN    NaN        NaN     NaN    NaN"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#得到相关系数矩阵\n",
    "'''\n",
    "得到相关系数矩阵，不知道什么是相关系数矩阵的可以回顾这个课程：\n",
    "《机器学习入门：简单线性回归》：https://www.zhihu.com/lives/934023671148949504\n",
    "'''\n",
    "ALbbDf.corr()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## GAFATA股价走势比较"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:33:53.931869Z",
     "start_time": "2019-07-05T09:33:53.718440Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 216x720 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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y3cjHB3/J1E2ntA1+ok2inFnL/z4llzLbO/vX7QvVrevh44UbS5eaxvq7k+1cjkjJJHngN+7+8as+WcTTi/NTfO9SekpiYiISGrq4isiIqkpiYiISGpKIiIiklpF3SfSr18/HzZsWLnDEBHpVJ555plV7t4/17yKSiLDhg2jrq7gPWoiIpLFzF7PN0+ns0REJDUlERERSU1JREREUlMSERGR1CrqwrqIVK6GhgaWLFnChg0byh1Kh9SzZ0+GDh1Kly6ta1soiYhIRVi1ahVmxogRI1q9o9zaNTQ0sHTpUlatWsWAAQOKL5CgT1JEKsJbb73FwIEDlUBy6NKlCwMHDuTtt99u/bIliEdEpMN577336NatW/GKFapbt25s2ZJznLOClEREpGLE4Xclh7SfjZKIiEgHMHfuXKqrq9l111255pprGsunTp3K1KlTyxdYEbqwLiJSZmvXruXkk09m9uzZ1NTUsP/++zNu3DhqamrKHVpRaomIiJTZvffey4EHHsjo0aPp3bs3hx9+OI8++mi5w2oRJRERkTJbsGABI0aMaHx9/vnnc8wxx+Stf+utt1JdXc2wYcOYNWtWY/lFF13E4MGDGTRoENdee21j+U033cTuu+/OoEGDuOGGG9o0dp3OEpGKdPHsF3hx2bqSrmOvwb256OiPFK331ltvMWTIkMbXu+66a966Cxcu5LzzzuPJJ5+kqqqKgw46iAMOOIAhQ4Zw2WWXsWLFChoaGpg4cSKTJk3ihRdeYPr06dTV1VFfX8+oUaM45phjGDhwYJtso1oiIiJl1q1bNzZv3tz4+q677mLOnDk5686dO5ejjjqKXXbZhcGDB3Psscfy0EMP0adPH0aMGMHkyZOZO3cuN998MwDz5s3j1VdfZa+99mLkyJGsX7+eRYsWtVnsaomISEVqSQuhvQwfPpy//OUvja8feOABRo0albd+sjuumWFmVFVV8de//pWHH36Y+++/nylTpvDCCy/g7pxyyilcd911ALzzzjt07969zWJXS0REpMyOO+44Hn74YZ5//nlWrFjBgw8+yNixY3PWPfzww7nvvvtYunQpb7zxBnfffTef/OQnefnllxk3bhzjxo3jiiuuYPny5axevZrDDjuMOXPmsHz5ct555x1GjhzJiy++2GaxqyUiIlJm1dXV/OpXv+L4449n48aNXHDBBey11145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9kRERFJTEhERkdSUREREJDUlERERSU1JREREUlMSERGR1JREREQkNSURERFJTUlERERSUxIREZHUlERERCQ1JREREUlNSURERFJTEhERkdSUREREJDUlERERSU1JREREUlMSERGR1JREREQkNSURERFJTUlERERSUxIREZHUlERERCQ1JREREUnN3L3cMbQbM1sJvF7uOFLoB6wqdxDtTNtcGSptmzvr9u7m7v1zzaioJNJZmVmdu9eWO472pG2uDJW2zVvj9up0loiIpKYkIiIiqSmJdA4zyx1AGWibK0OlbfNWt726JiIiIqmpJSIiIqkpiYiISGpKIiIikpqSiIiIpKYkIlJmZvaqmX0o8XqamX04/r2tmVWVLzqRwrqWOwCRrZmZ9QfmJoqedPdvZFWrj1PGcuAOM/so8Feg3sy2xHnbANu4e02pYhZpDSURkdKqAvq6+zAzGwt8x8xOAHYA3gMc2B74gpk9DXwMmA487e4bgY8k38zMhgH3tlv0IkXodJZIab2X47URfnsWp8zNWgacRji429HM6rKmQ2I93dwlHYZaIiKl1QAMNrPngF7AAne/zcyGu/s/AczsbOBWd18ST1s1xLpPuPs5sc4soEcZ4hcpSC0RkdJqAJa5+36EVgZm1huYZ2Z7FlnuxEwrBDgKtUCkA1ISESmtZr8xd18HXAZ8vciyv3H32vjo8PtKEZzIB6XTWSKlVUXT01kvxfKfe+EH1+U6wLM2jk3kA1NLRKS0qmh6OqsrQJEEAvAucFjidNYBNO0GLNIhqCUiUlqbgT/Evx8H/pyZYWY7AkOBnYDMfSDdgC7u/nvg99lvZmYjE3VFyk4tEZEScvc17j4x/t3g7snWRANwA3Czuy+PZdsTbihsxsyOB54E7i9hyCKtovFERDoJM9sWqHL3DeWORSRDSURERFLT6SwREUlNSURERFJTEhERkdSUREREJDUlERERSU1JREREUvv/wB+hObPHo9EAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制谷歌的画纸1\n",
    "plt.figure(figsize=(3,10))\n",
    "\n",
    "ax1=GoogleDf.plot(y='Close')\n",
    "\n",
    "#通过指定画纸ax，在同一张画纸上绘图\n",
    "#亚马逊\n",
    "AmazDf.plot(ax=ax1,y='Close')\n",
    "#Facebook\n",
    "FBDf.plot(ax=ax1,y='Close')\n",
    "#苹果\n",
    "AppleDf.plot(ax=ax1,y='Close')\n",
    "#阿里巴巴\n",
    "ALbbDf.plot(ax=ax1,y='Close')\n",
    "#腾讯\n",
    "TCDf.plot(ax=ax1,y='Close')\n",
    "#x坐标轴文本\n",
    "plt.xlabel('时间')\n",
    "#y坐标轴文本\n",
    "plt.ylabel('股价（美元）')\n",
    "#图片标题\n",
    "plt.title('2018年至今6家公司股价走势比较')\n",
    "\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:36:16.874631Z",
     "start_time": "2019-07-05T09:36:16.673170Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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rXn77bfz0++44w6aNm3K4Ycfnp8OwbOxmjdvTosWLZgy5Zdnzc6aNYvDDz+ctm3bknejdG5uLrfffjtNmzalY8eOfPLJJwBs376djIwMGjduzMknn8zXX39doFy7d+/mrLPOYvDgwaV6vGrOEpFKZdC8QSxdv7RM99G2XlvuOvauEuUdOnRofp/Dww8/TIcOHVi/fj0//PADmZmZ3HTTTZxxxhmMGjWK//73v3zzzTd8+umnXHDBBWRlZTFt2jRmzZrFkiVLWLFiBenp6fzwww8ALF26lEWLFjFt2jSuvPJKFi1axOjRo1mwYAHffPMNH3/8Mb169eLLL7/kscceY/fu3axcuZLnn3+eSy65hHnz5uWX8/rrr+fII4/klltuKdXvSkFERGQfxOoTue2223jggQeYMWMGa9asAeCtt97i6quvplq1apx44olkZWUBwTtEPvnkEw477DAgqFHkLevduzfVqlXj3HPPpXfv3mzevJlp06bRp08fqlWrxqmnnkqdOnXyA83TTz9NlSpVyMjI4JZbbmHt2rUADBkyhP/9738899xzpX78CiIiUqmUtIaQKOPGjePvf/879957L+eccw4XXnhhzHxjxoyhV69euDv33Xcfd90VHNfGjRupVasWQIEnA5sZubm5MdPz5qOfJJw3f9BBBzF69GguueQSzj77bJKSkkrpaNUnIiJSqubMmUPXrl0555xzmDRpUn56165dGT16NNnZ2Xz++efcfffdVKtWjdNPP52XX36ZzZs3k5WVxWGHHcbGjRsB+M9//kN2djZTpkyhadOm1K1bl+7duzNq1Ciys7N577332LhxI+3bt6d79+4MGzaM3NxcXnjhBY444oj8F1xdcskldOzYkc6dOzNq1KhSPV7VRERESlFGRgZ//OMfeeGFF7j44otZs2YNmzZt4qqrrmLJkiUceuihHHDAAfz73/+matWq/OEPf2D+/Pm0b9+epKQkhgwZQv369QFo0KABbdq0ISUlJb/f5U9/+lP+durXr8+ECRNITU3l3nvv5dprr6Vp06Yceuih/Pvf/y5UtoceeohTTjmFSy+9lJo1a5bK8epR8CJSoe0Pj4KvKPQoeBERKVcKIiIiEjcFERERiZuCiIiIxE1BRERE4qYgIiIicVMQEREpBWPHjuXGG2/Mnz/hhBP44IMPElii8qGbDUVE4rR4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Je5P2dv8e1KibnozezJqvjXwtJk9WyqlEBGphHJzc3nuueeYPHkyjRo1YsSIEVSpUoX69etzyCGHsHr1apKTk/Pz7tq1a4/b3LlzZ36/RXJyMsuXF/WqpSDvvffey+rVq+PKXxqsqHY7M3vC3W8LP69096ZRy5OBBe7+f6VWmjKWlpbmeaMiRKRyWLJkCe3atUt0MWJq2bIl3333XcxlvXr1YtmyZUycOJGWLVuyYMECunfvTq1atYodipudnc2kSZPo0KEDq1at4tRTTyUpKYk6deoUypuVlUVaWhovv/wywF7nj1bUd21m8909LdY6xTVn/Tbi8+4Yy3OByvM2eRGRUlZUAIHg7vFInTp12ut3pzdq1IjFixfz888/s3t34dNwSkpKgU7yvc1fGooLIpFVlJpm9nzU8ibA+lItjYiIFFK9evUyzb8vShpEdgLjo5bnAp+WeolERKTSKC6IRDZV5bj7G2VdGBERqVyKG50VWROpa2bbzSzLzF43s/PLumAiIlLxFRdEIocPbARqAR2A/wC3mdlrZlarDMsmIlLpfPDBBwBcffXVrFq1itdee40dO3YAMHHiRD77LLhPO1bHd2VUXBBZEvE52d1z3X2tu48HfgdsA0aWaelERCq40047jeOOO46GDRsyf/58nnrqKT744AOmTp3K6tWrGThwYP79Ic2bN+f888/niy++4JJLLqFVq1Y0a9aMtLQ0Dj/8cK6//voEH83eKzKIuHvviNmlUct2AdcAbc3soDIqm4hIhVetWjUmTZpE9+7d2bJlCwceeCATJ05kx44djB49miOOOIIXXngBgGOPPZbRo0fj7owfP56//e1vZGRkkJmZySOPPJJ/Y2JlUqLHnrj7KTHStpnZCe7+c6x1RET2B2bGF198wfr166lRowY333wzCxYsYM2aNdx4443k5uZSpUoVsrOz2bJlC506deKAAw4otJ3du3cXeCtiZVHiZ2eZ2QHuvjkquT5Q9D32IiL7gfHjx/P111/z8ssvs3DhQubOnUvnzp3p1q0bqampNGzYkAcffJBHHnmE+fPn89lnn9GiRYsC29i1a1epv3WwPBT3UqoqQG93z7vJ8F2gs5mNcPe+YdpnZna4u28o43KKiADwztgR/PT9t2W6j4NbHMopGX33nDE0YMAA7r77bq644gqmT5/O999/z+mnn86yZcuYOXMmd911F8cddxwzZswgPT2dlJQUjj/+eLZs2cLWrVt5++23OeWUUyplECmuTyQX6GNmp5rZ6UBeLaQdgJmlAT8ogIjI/q5bt25MnTqVYcOG8b///Y+LL76Y+++/n1q1ajFkyBDmzJnDf//7yxs2zIy5c+fSv39/LrvsMubNm8fRRx/N9u3bE3gU8SnqzYZdgaxwNpngxsO812HlvXrrZmBAmZZORCTK3tQQysP69euZO3cu/fr147rrrqNq1aqceeaZVKtWjQ8++IAqVarQvn17jjvuuALr7dy5s8B8vXr1WLt2bXkWvVQUVXfKAYYTPHgx+jG/ZmbnASnu/noZlk1EpMLbsWNHgQ7x+vXr88wzzwCQlpZGdnY299xzT4Hhu3/9619p06YNBx30y+DW1q1b88033/DBBx/g7vz2t5HPwK24inqz4WwzewdYBlxMUBNpbGYXAs2A84FLy62UIiIVUGZmJs2bN2fHjh1s27aNd999lwkTJlC9enXcneTkZIYPH07jxo2BoPbxzTffUL16dR599FGmTp2a/xrdli1bsmHDBoYPH87RRx9daYJIcX0iDuwAVodTNsForOpAG6DVvuzYzPqZ2SozyzSzYrdlZgPM7Cczm2Vm9faULiJSHj788MP8d5ovWrSI3r1789577/HWW28xffp0Lr/8ci677DKOOuooIHgx1UUXXcSrr75K9erVyc7OLtCs9Y9//IP333+fM844I1GHtNdivpTKzI4FHifoD3mEoCZyl7ufGtZQrgFeAH4fY9jvnndqdhTwFnAM0AK4393PLCLvmcBA4CTgTKCLu19XVHpx+9VLqUQqn4r8Uqo8efeCRPv+++/59ttvOfnkkyvFjYTxvJSquMeeXEMQPKpQ8DlauPtXwEvAXXGWtSfwvLtnufscoL6Z1Swi73nA0DBYvQR02UO6iEi5ihVAAFq0aMEpp5xSKQJIvGIeubvPA74DUoBNBA9gzHs0fN7JfjhwWXg/yd5qBiyMmM8iqJEUmzdsYssJA05R6SIiUk729FKqx8KaAhFP7J0O4O4/m9lbQD1gb8elJfHLfScQPMyxbgnzbgfqFJO+LXJlM+sL9IXg4WciIlJ6iutY3+3ukyLmjwn//UtEWl93j2dg8wYKBo3q/HIfSknzlmgb7j7C3dPcPa1BgwZxFFVEEi1W362Urni/43iaokpDJnACBDedAJ2BlSXIW4NgVNi6YtJF5FekWrVqrFu3ToGkDLk769ati+sBkEXdsd4RqOLunxW1opl1Aja7ezwPsZkGPGFms4H2wDp3L+pBjhOBd81sIXAuMNvdc8wsZnocZRGRCqxZs2asWLGCNWvWJLoov2rVqlWjWbNme71eUX0ia4EJZna1uy+OXhgO0R1JMMpqr7n7ZjO7APgbwf0nl5rZIcAb7t4hKu83ZnYd8BhBbeWa4tJF5NclOTmZVq326bY0KUMx7xMBMLNmwChgLjAe+JFgRNRFBG82/FM41LfS0H0iIiJ7r7j7RIocneXuK8ysG/AH4AbgYII7198GHgzfbigiIvuxYh9eH95/8UY4iYiIFJCo0VkiIvIroCAiIiJxUxAREZG4KYiIiEjcFERERCRuCiIiIhK3EgURMzutrAsiIiKVzx6DiJmdDzxRDmUREZFKptibDc3sMGAQ8GczewTYGZUl1d3vK6vCiYhIxVbUU3yrAMcBQ4E/EjyQ8WAg8lEnBqSWdQFFRKTiKqom8jzQDUhz9+/CtGfKpUQiIlJpFBVEbgFuBiaa2TUED168hOBd6D8Bn7t7VrmUUEREKqyYHevuvjZ8De4VwBggHdgBNAVOB143s1fNTO+bFRHZjxXVJ1LV3Xe5+xdm1gOYDZzu7ssi8twGTAGOL5+iiohIRVNUc9Z0M8sCniZowroGyDWz5hF5XgEWlG3xRESkIisqiJxL8OrbIUBn4EvgO4IRWXmSw/Vnl13xRESkIosZRNx9M8EIrefN7EJgIDDV3f9VnoUTEZGKrSSPPdkOnAh8FJlogd+WSalERKRSKEkQGUQwrPdiM+sQkX4K8KKZJZVJyUREpMIr8rEnZrYFyAXWhPmuA9LNbBNwB3Af8Bd3310eBRURkYqnuGdnLXX3YwDMLBVY5+7Hm1kX4H1gnrs/Vx6FFBGRiqm45qyDzay3mTUM5y0MIPcRDO9tZWZHl3kJRUSkwiouiLwAdAE+I7hjvQlwMXCnu18NXEoweiu5rAspIiIVU3HNWSOAHIL7QFYDvweWAJjZwcC3wOtAXYJ+ExER2c8UF0QWAfOBjsB/CW40PBrIDD83AL51dwUQEZH9VHFB5Et3P9XMZrj77wHM7DN3PzX8fCDwaXkUUkREKqbigkhTM3sAODT8F6ChmV1O8BiUz9y9VZmXUEREKqziOtafArYQPD9rG8Gj4IcRNGk9CnxnZo/Fs1Mz62dmq8ws08z2GIjMbICZ/WRms8ysXkT6EDPbZmarzeySeMoiIiLxK7Im4u5/LW5FMzuIYPTWXjGzo4C/EDzYsQXBK3jPLCb/mQQPhGwd5nsEuM7MLgbaAYcBbYApZvaKu2fvbZlERCQ+JXnsSUzuvs7dX49j1Z7A8+6e5e5zgPpmVrOY/OcBQ8OHQr7EL4FrOXClu69y9/cAJxgpJiIi5STuILIPmgELI+azCGoke8zv7g7kmFlNd//Q3ZcDmNmxwHp3X11GZRYRkRjKNIiY2aSw7yN/IngPyeaIbNsovgaRFJV/O1AnKs9AggdFxipD37DvJXPNGo1GFhEpTWUaRNz9HHdvFDkB6ygYNKoTPOixKBuKy29m1wIpBDdHxirDCHdPc/e0Bg30SngRkdKUiOasTOAECB7GRdDBvrKE+WsArQgCEWbWCXgAuMzdiwtEIiJSBoq7T6SsTAOeMLPZQHuCpwMvLyb/ROBdM1tIMEprtrvnhKPDpgDXufuyMi+1iIgUUu41kXCU1QXAbcDvCB7kiJkdEgaK6PzfELzL5DGCh0DeEC7qHc4Pi+hzObYcDkFEREIWDHjaP6SlpXlmZmaiiyEiUqmY2Xx3T4u1LBF9IiIi8iuhICIiInFTEBERkbgpiIiISNwUREREJG4KIiIiEjcFERERiZuCiIiIxE1BRERE4qYgIiIicVMQERGRuCmIiIhI3BREREQkbgoiIiISNwURERGJm4KIiIjETUFERETipiAiIiJxUxAREZG4KYiIiEjcFERERCRuCiIiIhI3BREREYmbgoiIiMRNQUREROKmICIiInFTEBERkbgpiIiISNwUREREJG4KIiIiEreEBBEz62dmq8ws08xalSD/ADP7ycxmmVm9GMv7m9lDZVJYEREpUrkHETM7CvgL0Bm4ERi6h/xnAucCrYGRwCNRy9sCd5dJYUVEpFiJqIn0BJ539yx3nwPUN7OaxeQ/Dxjq7puBl4AueQvMzIBngNfKsLwiIlKERASRZsDCiPksoEVJ8ru7AzkRQedq4HvgrTIop4iI7EGZBhEzmxT2feRPQDKwOSLbNqBuMZtJisq/HahjZg2B24Fb9lCGvmHfS+aaNWviOQwRESlCmQYRdz/H3RtFTsA6CgaN6kBuMZvZUET+p4AH3H39Hsowwt3T3D2tQYMG8RyGiIgUoWoC9plJ0K8xLuzT6Ays3EP+E4CPzKwG0IogEJ0JpJvZPwkCS5KZHejuN5dp6UVEJF8igsg04Akzmw20B9a5+/Ji8k8E3jWzhQSjtGa7ew5QOy+DmWUALd39oTIrtYiIFFLuHevhKKsLgNuA3wGXApjZIWGgiM7/DXAd8BjQBLih/EorIiLFsWDA0/4hLS3NMzMzE10MEZFKxczmu3tarGV67ImIiMRNQUREROKmICIiInFTEBERkbgpiIiISNwUREREJG4KIiIiEjcFERERiZuCiIiIxE1BRERE4qYgIiIicVMQERGRuCmIiIhI3BREREQkbgoiIiISNwURERGJm4KIiIjETUFERETipiAiIiJxUxAREZG4KYiIiEjcFERERCRuCiIiIhI3BREREYmbuXuiy1BuzGwN8H2iyxGH+sDaRBeinOmY9w/72zFX1uNt4e4NYi3Yr4JIZWVmme6eluhylCcd8/5hfzvmX+PxqjlLRETipiAiIiJxUxCpHEYkugAJoGPeP+xvx/yrO171iYiISNxUExERkbgpiIiISNwUREREJG4KIiIiEjcFEZEEM7NvzezwiPnHzOyI8HM1M0tKXOlEilc10QUQ+TUzswbAjIikOe5+bVS2nHDKswp42cxOBD4BcsxsV7gsBUhx97ZlVWaRvaEgIlK2koC67t7SzNKBP5vZhcCBwG7AgdrARWY2D/gt8AQwz923A/8XuTEzawlMKrfSi+yBmrNEytbuGPNG8Ldn4ZR3s5YBVxNc3NUzs8yo6eQwn27ukgpDNRGRspULNDGzBUAt4HN3f8nMWrv71wBmdjPworuvCJutcsO8H7r7LWGesUD1BJRfpFiqiYiUrVwgy907EdQyMLMDgNlm1m4P612cVwsBzkI1EKmAFEREylahvzF33ww8DvTZw7r/cfe08NHhU8uicCL7Ss1ZImUriYLNWUvC9OFe/IPrYl3gWSmXTWSfqSYiUraSKNicVRVgDwEEYAdwakRz1tEUHAYsUiGoJiJStrKBt8PP7wMf5S0ws3pAM+AgIO8+kGSgirtPBiZHb8zMOkbkFUk41UREypC7r3f3vuHnXHePrE3kAs8Cz7n7qjCtNsENhYWY2QXAHOCNMiyyyF7R+0REKgkzqwYkufu2RJdFJI+CiIiIxE3NWSIiEjcFERERiZuCiIiIxE1BRERE4qYgIiIicVMQERGRuP1/g5Mw/mRJraQAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "使用label自定义图例\n",
    "'''\n",
    "#绘制谷歌的画纸1\n",
    "ax1=GoogleDf.plot(y='Close',label='谷歌')\n",
    "#通过指定画纸ax，在同一张画纸上绘图\n",
    "#亚马逊\n",
    "AmazDf.plot(ax=ax1,y='Close',label='亚马逊')\n",
    "#Facebook\n",
    "FBDf.plot(ax=ax1,y='Close',label='Facebook')\n",
    "#苹果\n",
    "AppleDf.plot(ax=ax1,y='Close',label='苹果')\n",
    "#阿里巴巴\n",
    "ALbbDf.plot(ax=ax1,y='Close',label='阿里巴巴')\n",
    "#腾讯\n",
    "TCDf.plot(ax=ax1,y='Close',label='腾讯')\n",
    "#x坐标轴文本\n",
    "plt.xlabel('时间')\n",
    "#y坐标轴文本\n",
    "plt.ylabel('股价（美元）')\n",
    "#图片标题\n",
    "plt.title('2018年至今6家公司股价走势比较')\n",
    "#显示网格\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "因为谷歌和亚马逊的股价比较高，造成我们看不出其他4家公司的股票走势。\n",
    "所以根据股价我们可以将这6家公司分成2组，一组是股价较高的谷歌和亚马逊。另外一组是股价较低的4家公司。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:36:18.334727Z",
     "start_time": "2019-07-05T09:36:18.180140Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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ciVvvPEG5557LrvvvnuHmX3mloiZWRtZvXo1hx12GJL49a9/Tffu3fnSl77EiBEj2HnnnXnkkUc4/vjj+fnPf87QoUPZYYcd2HXXXVm+fDm33XYbQ4YM4frrr2f8+PE8/PDDNDQ00NDQwOuvv95udXJLxMysjXTr1o2f//znDBw4EEnceuutvPLKK/To0YM33niD+vp6vvnNb67NP3fuXG644QZGjBixdrbZY489Rn19PRMmTACgvr6e97///e1SH3AQMbMt3MhJf+WlWYsreowP77IV3zt271bl3WuvvQAYN24co0ePprGxkVdffZVhw4Zx0003cfLJJ6/Nu//++/PVr36VPn36IIlevXrx6KOPcsEFFzBy5EhGjBjBQQcdtLbLqz04iJiZtaGpU6cycuRI5s+fz5NPPkldXR319fU8+OCDnHzyyVx33XWcffbZbLPNNrzwwgtrWyAXXnghALNnz+aaa67hrLPO4uKLL17bImkvDiJmtkVrbQuhLTz33HMcd9xxHHDAASxatIhjjjlmvTyHHnoot99+O3fddRf9+vVj1apVABx44IF8+ctfZtKkSdTU1LBo0SJmz57Ndttt19bVWIcH1s3M2sjgwYOZNWsW559/PgcffDDTpk1bZ6mrq+Oss85i2rRp7L333nzrW9+ivr6eq6++mogA0k2Bs2bNom/fvjzxxBPtXCMHETOzNtWnTx+qq6tbXJ//uJbu3btz2WWXMX369HVuBhw7dixjx47lgQceYN68eRUt74a4O8vMrI01Nzdz3333rfdz3a+99tramw0BmpqaePzxx7nuuutoampCEg888ABPPPEEI0eOpKmpiaOOOoqJEyeyyy67tHU1AAcRM7M2t2rVKoYPH8748ePXSW9oaFg7BgJw/fXXU11dzaBBgzj22GM56aSTuOaaa5gwYQKSOPHEE3nhhRdYsGCBg4iZWVdx5plncuaZZ66X3tjYuM77k046CYAjjzySYcOG0b9/fyJina6t733vexUt64Y4iJiZdXA9evSgR48eQMd7uKQH1s3MrGwOImZmVrZ2CyKSLpA0R9JUSfUbyHu1pLckPS6pf5H1IyVdVbHCmplZUe0SRCTtA1wJDAa+AowpkfdoYDiwJzAeuLZg/V7A5RUrrJmZtai9WiInAHdGxKyIeArYXlKfFvKeCIyJiMXABGBYboXSCNPPgPsqXF4zsza3Zs2adab8bsirr74KpCnE+febAFx++eVMnDhxs5YP2m92Vh3QmPd+FrAb8FILeccDRERIapLUJyKWAecA/wKmAAMqWWAzs81hxIgR/OlPf6JXr168+eab1NbW0tTUxJIlS9h5551Zvnw5n/vc5xg5ciT33nsvl112Gd27d19vVtarr77KokWL6NevH5ACx4knnsj111/Pvffey7Rp05g7dy7z589n5cqV9OzZc23ezam9gkg1kP9s5mXANq3MuxzYWlJf4OvAIcBxLR1I0nnAeQC1tbXrzcPuDJYuXdopy70pXOeuoRJ13nrrrVmyZMlm3efmsmbNGm666aa17z/72c8yevRo3nzzTR588EHGjh27dt2SJUs48sgjOfLIIxk9ejRnn302O+20EwArVqxg7733Xpsv55577uFHP/oRP/nJT5g8eTK/+tWv+OEPf8js2bNZuXIlK1as4M0332TbbbctWr4VK1Zs9PfRXkFkAesGjV5Ac/GsLeb9MfDdiHin1LzpiBgHjAMYMmRINDQ0lFvmdtPY2EhnLPemcJ27hkrU+eWXX67IFffmkDvhz549mw9+8INUV1fTp08fevXqRU1NDf369eP1119nu+22Y+utt1673c0338wVV1xBr169AJgzZw677777evX88Ic/zG233QbAm2++yamnnsoee+xBfX09I0aM4MUXX2TUqFH88Y9/LFq+nj17sv/++29UndoriEwljW3clY1rDAZmlsh7MPCkpN5APTAfOBpokPQTUmCplrRtRFxS8dKbWefx8OUw54XKHmOnfeCo0a3KOnHiRG6//XYef/zxouuvuOIKDjjgAL7+9a8DqbW21VZbrQ0gADNmzKCurm6d7caMGcPYsWM54ogjOOKII3j66ad55plnmD59Ovvttx+QHid/4403smDBghZbIxurvYLIw8CNkqYAHwHmR8T0FvL+BmiU9DxpltaUiGgC1oZgSWcDAyLiqoqW2sxsE5166qlcfvnlvPDC+oFt5syZPPnkk+s8U2vmzJnMmzePQYMGrU1btGgRixcvZtCgQQwZMoTx48dz8cUXM2TIEG699VYeeOAB1qxZwzXXXMOCBQsYOnQoK1asQBIHHnggv//97znhhBM2S33aJYhExGJJJwM/AFYCZ0jaFXgoIvYtyPsPSRcBo0itlfPbvMBm1nm1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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "第1组：谷歌，亚马逊\n",
    "'''\n",
    "#绘制谷歌的画纸2\n",
    "ax2=GoogleDf.plot(y='Close',label='谷歌')\n",
    "#通过指定画纸ax，在同一张画纸上绘图\n",
    "#亚马逊\n",
    "amazDf.plot(ax=ax2,y='Close',label='亚马逊')\n",
    "#x坐标轴文本\n",
    "plt.xlabel('时间')\n",
    "#y坐标轴文本\n",
    "plt.ylabel('股价（美元）')\n",
    "#图片标题\n",
    "plt.title('2018年谷歌和亚马逊股价走势比较')\n",
    "#显示网格\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:36:21.050465Z",
     "start_time": "2019-07-05T09:36:20.874934Z"
    }
   },
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "'Close_dollar'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m   3802\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3803\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcasted_key\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   3804\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\pandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\pandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: 'Close_dollar'",
      "\nThe above exception was the direct cause of the following exception:\n",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-60-4994432ccb6b>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     11\u001b[0m \u001b[0mALbbDf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0max3\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'Close'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mlabel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'阿里巴巴'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     12\u001b[0m \u001b[1;31m#腾讯\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 13\u001b[1;33m \u001b[0mTCDf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0max3\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'Close_dollar'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mlabel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'腾讯'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     14\u001b[0m \u001b[1;31m#x坐标轴文本\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     15\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'时间'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\pandas\\plotting\\_core.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m    984\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    985\u001b[0m                 \u001b[1;31m# don't overwrite\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 986\u001b[1;33m                 \u001b[0mdata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    987\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    988\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mABCSeries\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m   3803\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3804\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3805\u001b[1;33m             \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   3806\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3807\u001b[0m                 \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m   3803\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcasted_key\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3804\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3805\u001b[1;33m                 \u001b[1;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0merr\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   3806\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3807\u001b[0m                 \u001b[1;31m# If we have a listlike key, _check_indexing_error will raise\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: 'Close_dollar'"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "第2组：4家公司\n",
    "'''\n",
    "#绘制Facebook的画纸3\n",
    "#通过指定画纸ax，在同一张画纸上绘图\n",
    "#Facebook\n",
    "ax3=FBDf.plot(y='Close',label='Facebook')\n",
    "#苹果\n",
    "AppleDf.plot(ax=ax3,y='Close',label='苹果')\n",
    "#阿里巴巴\n",
    "ALbbDf.plot(ax=ax3,y='Close',label='阿里巴巴')\n",
    "#腾讯\n",
    "TCDf.plot(ax=ax3,y='Close_dollar',label='腾讯')\n",
    "#x坐标轴文本\n",
    "plt.xlabel('时间')\n",
    "#y坐标轴文本\n",
    "plt.ylabel('股价（美元）')\n",
    "#图片标题\n",
    "plt.title('2018年4家公司股价走势比较')\n",
    "#显示网格\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 柱状图：六家公司股票的平均值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:36:22.158502Z",
     "start_time": "2019-07-05T09:36:22.045804Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#6家公司股票收盘价平均值\n",
    "MeanList=[GoogleDf['Close'].mean(),#谷歌\n",
    "           AmazDf['Close'].mean(),#亚马逊\n",
    "           FBDf['Close'].mean(),#Facebook\n",
    "           AppleDf['Close'].mean(),#苹果\n",
    "           ALbbDf['Close'].mean(),#阿里巴巴\n",
    "           TCDf['Close_dollar'].mean()#腾讯\n",
    "           ]\n",
    "\n",
    "#创建pandas一维数组Series\n",
    "MeanSer=pd.Series(MeanList,\n",
    "                       index=['谷歌',\n",
    "                             '亚马逊',\n",
    "                            'Facebook',\n",
    "                              '苹果',\n",
    "                             '阿里巴巴',\n",
    "                             '腾讯'])\n",
    "MeanSer.plot(kind='bar',label='GAFATA')\n",
    "#图片标题\n",
    "plt.title('2018年至今6家公司股价平均值')\n",
    "#x坐标轴文本\n",
    "plt.xlabel('公司名称')\n",
    "#y坐标轴文本\n",
    "plt.ylabel('股价平均值（美元）')\n",
    "plt.xticks(rotation = 30)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析结果：可以看出，仅从股票价格上来判断，亚马逊和谷歌的股票价格要远远的超过了其他四家。但是这里只是算的平均值，下面我们看下用四分位数绘制的箱线图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 箱线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-07-05T09:36:23.491936Z",
     "start_time": "2019-07-05T09:36:23.346326Z"
    }
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'googDf' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-27-e56ac46b2180>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[0mcloseDf\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[1;31m#合并6家公司的收盘价\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m closeDf=pd.concat([closeDf,googDf['Close'],#谷歌\n\u001b[0m\u001b[0;32m      5\u001b[0m                       \u001b[0mamazDf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Close'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;31m#亚马逊\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      6\u001b[0m                       \u001b[0mfbDf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Close'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;31m#Facebook\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mNameError\u001b[0m: name 'googDf' is not defined"
     ]
    }
   ],
   "source": [
    "#存放6家公司的收盘价\n",
    "closeDf=pd.DataFrame()\n",
    "#合并6家公司的收盘价\n",
    "closeDf=pd.concat([closeDf,googDf['Close'],#谷歌\n",
    "                      amazDf['Close'],#亚马逊\n",
    "                      fbDf['Close'],#Facebook\n",
    "                      applDf['Close'],#苹果\n",
    "                      babaDf['Close'],#阿里巴巴\n",
    "                      txDf['Close_dollar']#腾讯 \n",
    "                 ],axis=1)\n",
    "#重命名列名为公司名称\n",
    "closeDf.columns=['谷歌','亚马逊','Facebook','苹果','阿里巴巴','腾讯']\n",
    "\n",
    "#箱线图\n",
    "closeDf.plot(kind='box')\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.20"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
